/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package gestionform;

import static gestionform.GestionInfos.CHAMP_TEL;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import model.Candidat;

/**
 *
 * @author Paul
 */
public class GestionInscriptionCandidat extends GestionInfos {

    private Candidat candidat;
    private HashMap<String, String> listeChamps;

    public GestionInscriptionCandidat(Candidat c) {
        this.candidat = c;
    }

    public HashMap<String, String> getListeChamps() {
        return listeChamps;
    }

    public void verifSaisieChamps(HttpServletRequest request) {
        String nom = getValeurChamp(request, CHAMP_NOM);
        String prenom = getValeurChamp(request, CHAMP_PRENOM);
        String tel = getValeurChamp(request, CHAMP_TEL);
        String email = getValeurChamp(request, CHAMP_EMAIL);
        String adresse = getValeurChamp(request, CHAMP_ADRESSE);
        listeChamps = getListeChamps(nom, prenom, tel, email, adresse);
        traiterListeChamps(listeChamps);
        traiterEmail(email);
        if (!erreurs.isEmpty()) {
            resultat = "Il y a des erreurs dans le formulaire de création";
        }
    }

    private void traiterListeChamps(HashMap<String, String> listeChamps) {
        for (Map.Entry<String, String> champ : listeChamps.entrySet()) {
            String idChamp = champ.getKey();
            String valueChamp = champ.getValue();
            validerChamp(idChamp, valueChamp);
        }
    }

    private void validerChamp(String idChamp, String valueChamp) {
        if (valueChamp == null) {
            setErreur(idChamp, "Le champ " + idChamp + " est vide");
        } else if (valueChamp.matches("[0-9]+")) {
            setErreur(idChamp, "Veuillez saisir des caractères pour le champ " + idChamp);
        }
    }

    private HashMap<String, String> getListeChamps(String nom, String prenom, String tel, String email, String adresse) {
        listeChamps = new HashMap<String, String>();
        listeChamps.put(CHAMP_NOM, nom);
        listeChamps.put(CHAMP_PRENOM, prenom);
        listeChamps.put(CHAMP_TEL, tel);
        listeChamps.put(CHAMP_EMAIL, email);
        listeChamps.put(CHAMP_ADRESSE, adresse);
        return listeChamps;
    }

    public void inscrireCandidat(Candidat c) {
    }

    private void traiterEmail(String email) {
        if (email != null) {
            if (email.length() < 5) {
                setErreur(CHAMP_EMAIL, "L'email saisie est incorrect.");
            }
        }
    }
}
